package protobuf {
	import com.netease.protobuf.*;
	use namespace com.netease.protobuf.used_by_generated_code;
	import com.netease.protobuf.fieldDescriptors.*;
	import flash.utils.Endian;
	import flash.utils.IDataInput;
	import flash.utils.IDataOutput;
	import flash.utils.IExternalizable;
	import flash.errors.IOError;
	import flash.utils.ByteArray;
	// @@protoc_insertion_point(imports)

	// @@protoc_insertion_point(class_metadata)
	public dynamic final class HSPKG_USER_INFO_NTF extends com.netease.protobuf.Message {
		/**
		 *  @private
		 */
		public static const USER_NAME:FieldDescriptor$TYPE_BYTES = new FieldDescriptor$TYPE_BYTES("protobuf.HSPKG_USER_INFO_NTF.user_name", "userName", (1 << 3) | com.netease.protobuf.WireType.LENGTH_DELIMITED);

		public var userName:flash.utils.ByteArray;

		/**
		 *  @private
		 */
		public static const NICK_NAME:FieldDescriptor$TYPE_BYTES = new FieldDescriptor$TYPE_BYTES("protobuf.HSPKG_USER_INFO_NTF.nick_name", "nickName", (2 << 3) | com.netease.protobuf.WireType.LENGTH_DELIMITED);

		public var nickName:flash.utils.ByteArray;

		/**
		 *  @private
		 */
		public static const SEX:FieldDescriptor$TYPE_UINT32 = new FieldDescriptor$TYPE_UINT32("protobuf.HSPKG_USER_INFO_NTF.sex", "sex", (3 << 3) | com.netease.protobuf.WireType.VARINT);

		public var sex:uint;

		/**
		 *  @private
		 */
		public static const AVATAR:FieldDescriptor$TYPE_UINT32 = new FieldDescriptor$TYPE_UINT32("protobuf.HSPKG_USER_INFO_NTF.avatar", "avatar", (4 << 3) | com.netease.protobuf.WireType.VARINT);

		public var avatar:uint;

		/**
		 *  @private
		 */
		public static const BALANCE:FieldDescriptor$TYPE_DOUBLE = new FieldDescriptor$TYPE_DOUBLE("protobuf.HSPKG_USER_INFO_NTF.balance", "balance", (5 << 3) | com.netease.protobuf.WireType.FIXED_64_BIT);

		public var balance:Number;

		/**
		 *  @private
		 */
		public static const CURRENCY:FieldDescriptor$TYPE_BYTES = new FieldDescriptor$TYPE_BYTES("protobuf.HSPKG_USER_INFO_NTF.currency", "currency", (6 << 3) | com.netease.protobuf.WireType.LENGTH_DELIMITED);

		public var currency:flash.utils.ByteArray;

		/**
		 *  @private
		 */
		public static const VPP:FieldDescriptor$TYPE_DOUBLE = new FieldDescriptor$TYPE_DOUBLE("protobuf.HSPKG_USER_INFO_NTF.vpp", "vpp", (7 << 3) | com.netease.protobuf.WireType.FIXED_64_BIT);

		public var vpp:Number;

		/**
		 *  @private
		 */
		override used_by_generated_code final function writeToBuffer(output:com.netease.protobuf.WritingBuffer):void {
			com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.LENGTH_DELIMITED, 1);
			com.netease.protobuf.WriteUtils.write$TYPE_BYTES(output, this.userName);
			com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.LENGTH_DELIMITED, 2);
			com.netease.protobuf.WriteUtils.write$TYPE_BYTES(output, this.nickName);
			com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.VARINT, 3);
			com.netease.protobuf.WriteUtils.write$TYPE_UINT32(output, this.sex);
			com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.VARINT, 4);
			com.netease.protobuf.WriteUtils.write$TYPE_UINT32(output, this.avatar);
			com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.FIXED_64_BIT, 5);
			com.netease.protobuf.WriteUtils.write$TYPE_DOUBLE(output, this.balance);
			com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.LENGTH_DELIMITED, 6);
			com.netease.protobuf.WriteUtils.write$TYPE_BYTES(output, this.currency);
			com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.FIXED_64_BIT, 7);
			com.netease.protobuf.WriteUtils.write$TYPE_DOUBLE(output, this.vpp);
			for (var fieldKey:* in this) {
				super.writeUnknown(output, fieldKey);
			}
		}

		/**
		 *  @private
		 */
		override used_by_generated_code final function readFromSlice(input:flash.utils.IDataInput, bytesAfterSlice:uint):void {
			var user_name$count:uint = 0;
			var nick_name$count:uint = 0;
			var sex$count:uint = 0;
			var avatar$count:uint = 0;
			var balance$count:uint = 0;
			var currency$count:uint = 0;
			var vpp$count:uint = 0;
			while (input.bytesAvailable > bytesAfterSlice) {
				var tag:uint = com.netease.protobuf.ReadUtils.read$TYPE_UINT32(input);
				switch (tag >> 3) {
				case 1:
					if (user_name$count != 0) {
						throw new flash.errors.IOError('Bad data format: HSPKG_USER_INFO_NTF.userName cannot be set twice.');
					}
					++user_name$count;
					this.userName = com.netease.protobuf.ReadUtils.read$TYPE_BYTES(input);
					break;
				case 2:
					if (nick_name$count != 0) {
						throw new flash.errors.IOError('Bad data format: HSPKG_USER_INFO_NTF.nickName cannot be set twice.');
					}
					++nick_name$count;
					this.nickName = com.netease.protobuf.ReadUtils.read$TYPE_BYTES(input);
					break;
				case 3:
					if (sex$count != 0) {
						throw new flash.errors.IOError('Bad data format: HSPKG_USER_INFO_NTF.sex cannot be set twice.');
					}
					++sex$count;
					this.sex = com.netease.protobuf.ReadUtils.read$TYPE_UINT32(input);
					break;
				case 4:
					if (avatar$count != 0) {
						throw new flash.errors.IOError('Bad data format: HSPKG_USER_INFO_NTF.avatar cannot be set twice.');
					}
					++avatar$count;
					this.avatar = com.netease.protobuf.ReadUtils.read$TYPE_UINT32(input);
					break;
				case 5:
					if (balance$count != 0) {
						throw new flash.errors.IOError('Bad data format: HSPKG_USER_INFO_NTF.balance cannot be set twice.');
					}
					++balance$count;
					this.balance = com.netease.protobuf.ReadUtils.read$TYPE_DOUBLE(input);
					break;
				case 6:
					if (currency$count != 0) {
						throw new flash.errors.IOError('Bad data format: HSPKG_USER_INFO_NTF.currency cannot be set twice.');
					}
					++currency$count;
					this.currency = com.netease.protobuf.ReadUtils.read$TYPE_BYTES(input);
					break;
				case 7:
					if (vpp$count != 0) {
						throw new flash.errors.IOError('Bad data format: HSPKG_USER_INFO_NTF.vpp cannot be set twice.');
					}
					++vpp$count;
					this.vpp = com.netease.protobuf.ReadUtils.read$TYPE_DOUBLE(input);
					break;
				default:
					super.readUnknown(input, tag);
					break;
				}
			}
		}

	}
}
